#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>

int main()
{
    int a[10];
    int sum=0;
    pid_t fork_id = (pid_t)(-1);
    int wstatus;
    // initialize
    for(int i = 0; i < 10; i++)
    {
        a[i] = i+1;
    }

    fork_id = fork();
    if(fork_id == -1)
    {
        printf("Error at forking\n");
        exit(1);
    }
    
    if(fork_id == 0)
    {
        // child
        for(int i = 0; i<10; i++)
        {
            sum+=a[i];
        }
        printf("child calculate sum is %d\n",sum);
    }
    else if(fork_id > 0)
    {
        // parent
        wait(&wstatus);
        printf("parent process finishes\n");
    }
    return 0;
}
